package com.abdulaziz.ms.ocv.gef;

import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
import org.eclipse.jface.util.Assert;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;

public class LabelSection extends AbstractPropertySection {

	private Text labelText;
    
 //   private ButtonElement buttonElement;

	
    private ModifyListener listener = new ModifyListener() {

        public void modifyText(ModifyEvent arg0) {
        	/*
            ButtonElementProperties properties = (ButtonElementProperties) buttonElement
                .getAdapter(IPropertySource.class);
            properties.setPropertyValue(ButtonElementProperties.PROPERTY_TEXT,
                labelText.getText());
         */}
       
    };

 public void createControls(Composite parent,
            TabbedPropertySheetPage aTabbedPropertySheetPage) {
        super.createControls(parent, aTabbedPropertySheetPage);
     Composite composite = getWidgetFactory()
            .createFlatFormComposite(parent);
        FormData data;

        labelText = getWidgetFactory().createText(composite, "aaa"); //$NON-NLS-1$
        data = new FormData();
     data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);
        data.right = new FormAttachment(100, 0);
     data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE);
        labelText.setLayoutData(data);
      
    }

 public void setInput(IWorkbenchPart part, ISelection selection) {
        super.setInput(part, selection);
        /*
        Assert.isTrue(selection instanceof IStructuredSelection);
        Object input = ((IStructuredSelection) selection).getFirstElement();
        Assert.isTrue(input instanceof ButtonElement);
        this.buttonElement = (ButtonElement) input;
        */
    }

 public void refresh() {
	 /*
        labelText.removeModifyListener(listener);
        ButtonElementProperties properties = (ButtonElementProperties) buttonElement
            .getAdapter(IPropertySource.class);
        labelText.setText(properties.strText);
        labelText.addModifyListener(listener);
        */
    }
 
    }

    

